Skip to content

Conversation

@AR1011
Copy link
Collaborator

@AR1011 AR1011 commented Oct 23, 2025

PopN vs PopNInto

Now each actor inbox has a single reused buffer used to take msgs from the ringbuffer to be processed. With 0 allocs

goos: darwin
goarch: arm64
pkg: github.com/anthdm/hollywood/ringbuffer
cpu: Apple M2 Pro
Benchmark_Compare_PopN_vs_PopNInto_Payload16B
Benchmark_Compare_PopN_vs_PopNInto_Payload16B/PopN
Benchmark_Compare_PopN_vs_PopNInto_Payload16B/PopN-10         	   15724	     75273 ns/op	   65536 B/op	       1 allocs/op
Benchmark_Compare_PopN_vs_PopNInto_Payload16B/PopNInto
Benchmark_Compare_PopN_vs_PopNInto_Payload16B/PopNInto-10     	   16023	     71817 ns/op	       0 B/op	       0 allocs/op
Benchmark_Compare_PopN_vs_PopNInto_Payload256B
Benchmark_Compare_PopN_vs_PopNInto_Payload256B/PopN
Benchmark_Compare_PopN_vs_PopNInto_Payload256B/PopN-10        	    5306	    220977 ns/op	 1048576 B/op	       1 allocs/op
Benchmark_Compare_PopN_vs_PopNInto_Payload256B/PopNInto
Benchmark_Compare_PopN_vs_PopNInto_Payload256B/PopNInto-10    	    6222	    176617 ns/op	       0 B/op	       0 allocs/op
Benchmark_Compare_PopN_vs_PopNInto_Payload1KB
Benchmark_Compare_PopN_vs_PopNInto_Payload1KB/PopN
Benchmark_Compare_PopN_vs_PopNInto_Payload1KB/PopN-10         	     766	   1390551 ns/op	 4194304 B/op	       1 allocs/op
Benchmark_Compare_PopN_vs_PopNInto_Payload1KB/PopNInto
Benchmark_Compare_PopN_vs_PopNInto_Payload1KB/PopNInto-10     	    2095	    538531 ns/op	       0 B/op	       0 allocs/op
Benchmark_Compare_PopN_vs_PopNInto_Payload10KB
Benchmark_Compare_PopN_vs_PopNInto_Payload10KB/PopN
Benchmark_Compare_PopN_vs_PopNInto_Payload10KB/PopN-10        	      33	  51003708 ns/op	41943040 B/op	       1 allocs/op
Benchmark_Compare_PopN_vs_PopNInto_Payload10KB/PopNInto
Benchmark_Compare_PopN_vs_PopNInto_Payload10KB/PopNInto-10    	      38	  32756038 ns/op	       0 B/op	       0 allocs/op
PASS

@AR1011 AR1011 requested a review from anthdm October 23, 2025 14:50
@AR1011 AR1011 changed the title FIx race condition + add get inbox size FIx race condition + add get inbox size + 0 alloc ringbuffer pop Jan 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants